Start of Twister TWAIN Analysis Analysis Started: 2004.08.16 at 14:25:20 Twister Version: 1.03.006 --- TW_IDENTITY block --- Product Name: KODAK Scanner i80 Product Family: KODAK Scanner Manufacturer: KODAK Software Version: 1.9 ("3.00.090903'") TWAIN Protocol Version: 1.9 --- DataSource File Version Info --- File: C:\WINDOWS\TWAIN_32\KODAK\Eki80\Eki80.DS File Timestamp: 2004.08.16 14:59:39 File version: 0.2.2.7 Product version: 0.2.2.7 Description: TWAIN Driver Source file Copyright: Copyright(C) 2001, Avision Inc. Comments: Company: Avision Inc. File Version: 0.2.2.7 Internal Name: DS Language: Legal Trademarks: Original Filename: DS Private Build: Product Name: Product Version: Special Build: Section 1. Capabilities If a capability does not appear in the following list, then the device reported it as unsupported, and this conforms to the TWAIN standard. -- Capability -- -- Value -- CAP_SUPPORTEDCAPS: GET..............uint16 ARRAY[ CAP_AUTOFEED, CAP_FEEDERLOADED, CAP_FEEDERENABLED, CAP_CLEARPAGE, CAP_CUSTOMDSDATA, CAP_DEVICEONLINE, CAP_DUPLEX, CAP_DUPLEXENABLED, CAP_ENABLEDSUIONLY, CAP_FEEDPAGE, CAP_FEEDERALIGNMENT, CAP_FEEDERORDER, CAP_INDICATORS, CAP_SUPPORTEDCAPS, CAP_XFERCOUNT, CAP_UICONTROLLABLE, ICAP_AUTOBRIGHT, ICAP_BITDEPTH, ICAP_BITDEPTHREDUCTION, ICAP_BITORDER, ICAP_BRIGHTNESS, ICAP_COMPRESSION, ICAP_CONTRAST, ICAP_EXTIMAGEINFO, ICAP_FILTER, ICAP_FRAMES, ICAP_GAMMA, ICAP_HALFTONES, ICAP_HIGHLIGHT, ICAP_IMAGEFILEFORMAT, ICAP_LIGHTPATH, ICAP_LIGHTSOURCE, ICAP_MAXFRAMES, ICAP_MINIMUMHEIGHT, ICAP_MINIMUMWIDTH, ICAP_ORIENTATION, ICAP_PHYSICALHEIGHT, ICAP_PHYSICALWIDTH, ICAP_PIXELFLAVOR, ICAP_PIXELTYPE, ICAP_PLANARCHUNKY, ICAP_SUPPORTEDSIZES, ICAP_SHADOW, ICAP_THRESHOLD, ICAP_TILES, ICAP_UNDEFINEDIMAGESIZE, ICAP_UNITS, ICAP_XFERMECH, ICAP_XNATIVERESOLUTION, ICAP_XRESOLUTION, ICAP_XSCALING, ICAP_YNATIVERESOLUTION, ICAP_YRESOLUTION, ICAP_YSCALING, ICAP_FLIPROTATION, CAP_0x9197, CAP_0x9198, CAP_0x9199, CAP_0x9206, CAP_0x9207, CAP_0x9208, CAP_0x9209, CAP_0x9211, CAP_0x9212, CAP_0x9213, CAP_0x9214, CAP_0x9215, CAP_0x9216, CAP_0x9219, CAP_0x921a ] CAP_SUPPORTEDCAPS: GETCURRENT.......ditto CAP_SUPPORTEDCAPS: GETDEFAULT.......ditto CAP_DEVICEONLINE: GET...............bool TRUE CAP_DEVICEONLINE: GETCURRENT........bool TRUE CAP_DEVICEONLINE: GETDEFAULT........bool TRUE CAP_XFERCOUNT: GET..................int16 -1 CAP_XFERCOUNT: GETCURRENT...........int16 -1 CAP_XFERCOUNT: GETDEFAULT...........int16 -1 ICAP_COMPRESSION: GET...............uint16 ENUM{ TWCP_NONE } Current: TWCP_NONE, Default: TWCP_NONE ICAP_COMPRESSION: GETCURRENT........uint16 TWCP_NONE ICAP_COMPRESSION: GETDEFAULT........uint16 TWCP_NONE ICAP_PIXELTYPE: GET.................uint16 ENUM{ TWPT_BW, TWPT_GRAY, TWPT_RGB, TWPT_PALETTE } Current: TWPT_BW, Default: TWPT_BW ICAP_PIXELTYPE: GETCURRENT..........uint16 TWPT_BW ICAP_PIXELTYPE: GETDEFAULT..........uint16 TWPT_BW ICAP_UNITS: GET.....................uint16 ENUM{ TWUN_INCHES, TWUN_CENTIMETERS, TWUN_PIXELS } Current: TWUN_INCHES, Default: TWUN_INCHES ICAP_UNITS: GETCURRENT..............uint16 TWUN_INCHES ICAP_UNITS: GETDEFAULT..............uint16 TWUN_INCHES ICAP_XFERMECH: GET..................uint16 ENUM{ TWSX_NATIVE, TWSX_FILE, TWSX_MEMORY } Current: TWSX_NATIVE, Default: TWSX_NATIVE ICAP_XFERMECH: GETCURRENT...........uint16 TWSX_NATIVE ICAP_XFERMECH: GETDEFAULT...........uint16 TWSX_NATIVE CAP_FEEDERENABLED: GET..............bool TRUE CAP_FEEDERENABLED: GETCURRENT.......bool TRUE CAP_FEEDERENABLED: GETDEFAULT.......bool FALSE CAP_FEEDERLOADED: GET...............bool FALSE CAP_FEEDERLOADED: GETCURRENT........bool FALSE CAP_FEEDERLOADED: GETDEFAULT........bool FALSE CAP_AUTOFEED: GET...................bool TRUE CAP_AUTOFEED: GETCURRENT............bool TRUE CAP_AUTOFEED: GETDEFAULT............bool TRUE CAP_CLEARPAGE: GET..................bool FALSE CAP_CLEARPAGE: GETCURRENT...........bool FALSE CAP_CLEARPAGE: GETDEFAULT...........bool FALSE CAP_FEEDPAGE: GET...................bool FALSE CAP_FEEDPAGE: GETCURRENT............bool FALSE CAP_FEEDPAGE: GETDEFAULT............bool FALSE CAP_INDICATORS: GET.................bool TRUE CAP_INDICATORS: GETCURRENT..........bool TRUE CAP_INDICATORS: GETDEFAULT..........bool TRUE CAP_UICONTROLLABLE: GET.............bool TRUE CAP_UICONTROLLABLE: GETCURRENT......bool TRUE CAP_UICONTROLLABLE: GETDEFAULT......bool TRUE CAP_DUPLEX: GET.....................uint16 TWDX_1PASSDUPLEX CAP_DUPLEX: GETCURRENT..............ditto CAP_DUPLEX: GETDEFAULT..............uint16 TWDX_NONE CAP_DUPLEXENABLED: GET..............bool FALSE CAP_DUPLEXENABLED: GETCURRENT.......bool FALSE CAP_DUPLEXENABLED: GETDEFAULT.......bool FALSE CAP_ENABLEDSUIONLY: GET.............bool TRUE CAP_ENABLEDSUIONLY: GETCURRENT......bool TRUE CAP_ENABLEDSUIONLY: GETDEFAULT......bool TRUE CAP_CUSTOMDSDATA: GET...............bool TRUE CAP_CUSTOMDSDATA: GETCURRENT........bool TRUE CAP_CUSTOMDSDATA: GETDEFAULT........bool FALSE CAP_FEEDERALIGNMENT: GET............uint16 2 CAP_FEEDERALIGNMENT: GETCURRENT.....uint16 2 CAP_FEEDERALIGNMENT: GETDEFAULT.....uint16 0 CAP_FEEDERORDER: GET................uint16 1 CAP_FEEDERORDER: GETCURRENT.........uint16 1 CAP_FEEDERORDER: GETDEFAULT.........uint16 1 ICAP_AUTOBRIGHT: GET................bool FALSE ICAP_AUTOBRIGHT: GETCURRENT.........bool FALSE ICAP_AUTOBRIGHT: GETDEFAULT.........bool FALSE ICAP_BRIGHTNESS: GET...............*fix32 From -999.999985 To 1000 Step 10, Current: 0, Default: 0 ICAP_BRIGHTNESS: GETCURRENT.........fix32 0 ICAP_BRIGHTNESS: GETDEFAULT.........fix32 0 ICAP_CONTRAST: GET.................*fix32 From -999.999985 To 1000 Step 10, Current: 0, Default: 0 ICAP_CONTRAST: GETCURRENT...........fix32 0 ICAP_CONTRAST: GETDEFAULT...........fix32 0 ICAP_FILTER: GET....................uint16 TWFT_NONE ICAP_FILTER: GETCURRENT.............uint16 TWFT_NONE ICAP_FILTER: GETDEFAULT.............uint16 TWFT_GREEN ICAP_GAMMA: GET.....................fix32 2.199997 ICAP_GAMMA: GETCURRENT..............fix32 2.199997 ICAP_GAMMA: GETDEFAULT..............fix32 2.199997 ICAP_HALFTONES: GET.................str32 ENUM{ Halftone 1, Halftone 2, Halftone 3, Halftone 4, Diffusion 1 } Current: Halftone 3, Default: Halftone 1 ICAP_HALFTONES: GETCURRENT..........str32 Halftone 3 ICAP_HALFTONES: GETDEFAULT..........str32 Halftone 1 ICAP_HIGHLIGHT: GET................*fix32 From 1 To 255 Step 1, Current: 255, Default: 255 ICAP_HIGHLIGHT: GETCURRENT..........fix32 255 ICAP_HIGHLIGHT: GETDEFAULT..........fix32 255 ICAP_IMAGEFILEFORMAT: GET...........uint16 ENUM{ TWFF_BMP } Current: TWFF_BMP, Default: TWFF_BMP ICAP_IMAGEFILEFORMAT: GETCURRENT....uint16 TWFF_BMP ICAP_IMAGEFILEFORMAT: GETDEFAULT....uint16 TWFF_BMP ICAP_LIGHTSOURCE: GET...............uint16 ENUM{ TWLS_WHITE } Current: TWLS_WHITE, Default: TWLS_WHITE ICAP_LIGHTSOURCE: GETCURRENT........uint16 TWLS_WHITE ICAP_LIGHTSOURCE: GETDEFAULT........uint16 TWLS_WHITE ICAP_ORIENTATION: GET...............uint16 ENUM{ TWOR_ROT0 (PORTRAIT) } Current: TWOR_ROT0 (PORTRAIT), Default: TWOR_ROT0 (PORTRAIT) ICAP_ORIENTATION: GETCURRENT........uint16 TWOR_ROT0 (PORTRAIT) ICAP_ORIENTATION: GETDEFAULT........ditto ICAP_PHYSICALWIDTH: GET.............fix32 8.639999 ICAP_PHYSICALWIDTH: GETCURRENT......fix32 8.639999 ICAP_PHYSICALWIDTH: GETDEFAULT......fix32 8.639999 ICAP_PHYSICALHEIGHT: GET............fix32 14.270004 ICAP_PHYSICALHEIGHT: GETCURRENT.....fix32 14.270004 ICAP_PHYSICALHEIGHT: GETDEFAULT.....fix32 14.270004 ICAP_SHADOW: GET...................*fix32 From 0 To 254 Step 1, Current: 0, Default: 0 ICAP_SHADOW: GETCURRENT.............fix32 0 ICAP_SHADOW: GETDEFAULT.............fix32 0 ICAP_FRAMES: GET....................frame Frame(0, 0, 8.5, 11) ICAP_FRAMES: GETCURRENT.............ditto ICAP_FRAMES: GETDEFAULT.............frame Frame(0, 0, 8.64, 14.27) ICAP_XNATIVERESOLUTION: GET.........fix32 600 ICAP_XNATIVERESOLUTION: GETCURRENT..fix32 600 ICAP_XNATIVERESOLUTION: GETDEFAULT..fix32 600 ICAP_YNATIVERESOLUTION: GET.........fix32 600 ICAP_YNATIVERESOLUTION: GETCURRENT..fix32 600 ICAP_YNATIVERESOLUTION: GETDEFAULT..fix32 600 ICAP_XRESOLUTION: GET...............fix32 From 50 To 1200 Step 1, Current: 100, Default: 300 ICAP_XRESOLUTION: GETCURRENT........fix32 100 ICAP_XRESOLUTION: GETDEFAULT........fix32 300 ICAP_YRESOLUTION: GET...............fix32 From 50 To 1200 Step 1, Current: 100, Default: 300 ICAP_YRESOLUTION: GETCURRENT........fix32 100 ICAP_YRESOLUTION: GETDEFAULT........fix32 300 ICAP_MAXFRAMES: GET.................uint16 1 ICAP_MAXFRAMES: GETCURRENT..........uint16 1 ICAP_MAXFRAMES: GETDEFAULT..........uint16 1 ICAP_TILES: GET.....................bool FALSE ICAP_TILES: GETCURRENT..............bool FALSE ICAP_TILES: GETDEFAULT..............bool FALSE ICAP_BITORDER: GET..................uint16 ENUM{ TWBO_MSBFIRST } Current: TWBO_MSBFIRST, Default: TWBO_MSBFIRST ICAP_BITORDER: GETCURRENT...........uint16 TWBO_MSBFIRST ICAP_BITORDER: GETDEFAULT...........uint16 TWBO_MSBFIRST ICAP_LIGHTPATH: GET.................uint16 ENUM{ TWLP_REFLECTIVE } Current: TWLP_REFLECTIVE, Default: TWLP_REFLECTIVE ICAP_LIGHTPATH: GETCURRENT..........uint16 TWLP_REFLECTIVE ICAP_LIGHTPATH: GETDEFAULT..........uint16 TWLP_REFLECTIVE ICAP_PIXELFLAVOR: GET...............uint16 ENUM{ TWPF_CHOCOLATE, TWPF_VANILLA } Current: TWPF_CHOCOLATE, Default: TWPF_CHOCOLATE ICAP_PIXELFLAVOR: GETCURRENT........uint16 TWPF_CHOCOLATE ICAP_PIXELFLAVOR: GETDEFAULT........uint16 TWPF_CHOCOLATE ICAP_PLANARCHUNKY: GET..............uint16 ENUM{ TWPC_CHUNKY, TWPC_PLANAR } Current: TWPC_CHUNKY, Default: TWPC_CHUNKY ICAP_PLANARCHUNKY: GETCURRENT.......uint16 TWPC_CHUNKY ICAP_PLANARCHUNKY: GETDEFAULT.......uint16 TWPC_CHUNKY ICAP_SUPPORTEDSIZES: GET............uint16 ENUM{ TWSS_NONE, TWSS_A4(TWSS_A4LETTER), TWSS_B5LETTER/TWSS_JISB5, TWSS_USLETTER, TWSS_A5, TWSS_USLEGAL } Current: TWSS_USLETTER, Default: TWSS_USLETTER ICAP_SUPPORTEDSIZES: GETCURRENT.....uint16 TWSS_USLETTER ICAP_SUPPORTEDSIZES: GETDEFAULT.....uint16 TWSS_USLETTER ICAP_THRESHOLD: GET.................fix32 From 0 To 255 Step 1, Current: 128, Default: 128 ICAP_THRESHOLD: GETCURRENT..........fix32 128 ICAP_THRESHOLD: GETDEFAULT..........fix32 128 ICAP_XSCALING: GET..................fix32 1 ICAP_XSCALING: GETCURRENT...........fix32 1 ICAP_XSCALING: GETDEFAULT...........fix32 1 ICAP_YSCALING: GET..................fix32 1 ICAP_YSCALING: GETCURRENT...........fix32 1 ICAP_YSCALING: GETDEFAULT...........fix32 1 ICAP_BITDEPTH: GET.................*uint16 ENUM{ 1, 4, 8, 24 } Current: 1, Default: 1 ICAP_BITDEPTH: GETCURRENT...........uint16 1 ICAP_BITDEPTH: GETDEFAULT...........uint16 1 ICAP_BITDEPTHREDUCTION: GET.........uint16 ENUM{ TWBR_THRESHOLD, TWBR_HALFTONE, TWBR_DIFFUSION } Current: TWBR_THRESHOLD, Default: TWBR_THRESHOLD ICAP_BITDEPTHREDUCTION: GETCURRENT..uint16 TWBR_THRESHOLD ICAP_BITDEPTHREDUCTION: GETDEFAULT..uint16 TWBR_THRESHOLD ICAP_UNDEFINEDIMAGESIZE: GET........bool FALSE ICAP_UNDEFINEDIMAGESIZE: GETCURRENT.bool FALSE ICAP_UNDEFINEDIMAGESIZE: GETDEFAULT.bool FALSE ICAP_EXTIMAGEINFO: GET..............bool FALSE ICAP_EXTIMAGEINFO: GETCURRENT.......bool FALSE ICAP_EXTIMAGEINFO: GETDEFAULT.......bool FALSE ICAP_MINIMUMHEIGHT: GET.............fix32 0.220001 ICAP_MINIMUMHEIGHT: GETCURRENT......fix32 0.220001 ICAP_MINIMUMHEIGHT: GETDEFAULT......fix32 0.220001 ICAP_MINIMUMWIDTH: GET..............fix32 0.220001 ICAP_MINIMUMWIDTH: GETCURRENT.......fix32 0.220001 ICAP_MINIMUMWIDTH: GETDEFAULT.......fix32 0.220001 ICAP_FLIPROTATION: GET.............*uint16 ENUM{ 37400, 37399 } Current: 37400, Default: 37400 ICAP_FLIPROTATION: GETCURRENT.......uint16 37400 ICAP_FLIPROTATION: GETDEFAULT.......uint16 37400 CAP_0x9197: GET.....................bool FALSE CAP_0x9198: GET.....................uint16 ENUM{ 0, 1, 2, 3, 4 } Current: 1, Default: 0 CAP_0x9199: GET.....................uint16 ENUM{ 0, 1, 2, 3 } Current: 0, Default: 0 CAP_0x9206: GET.....................bool FALSE CAP_0x9207: GET.....................fix32 From -179.999985 To 180 Step 1, Current: 0, Default: 0 CAP_0x9208: GET.....................fix32 From -99.999985 To 100 Step 1, Current: 0, Default: 0 CAP_0x9209: GET.....................fix32 From -99.999985 To 100 Step 1, Current: 0, Default: 0 CAP_0x9211: GET.....................bool TRUE CAP_0x9212: GET.....................fix32 From 1 To 60 Step 1, Current: 15, Default: 15 CAP_0x9213: GET.....................str32 KODAK i80 CAP_0x9214: GET.....................str32 4406P10069 CAP_0x9215: GET.....................bool TRUE CAP_0x9216: GET.....................str32 0.92 CAP_0x9219: GET.....................uint16 ENUM{ 0, 1 } Current: 0, Default: 0 CAP_0x921a: GET.....................uint16 From 0 To 118 Step 1, Current: 0, Default: 0 Section 2. Image Layout DG_IMAGE, DAT_IMAGELAYOUT, MSG_RESET => OK. DG_IMAGE, DAT_IMAGELAYOUT, MSG_GETDEFAULT => ( 0, 0, 8.5, 11). DG_IMAGE, DAT_IMAGELAYOUT, MSG_GET => ( 0, 0, 8.5, 11). DG_IMAGE, DAT_IMAGELAYOUT, MSG_SET (1.06, 1.83, 2.12, 3.66) => OK. Scanning to verify image layout: OK Returned image is 96 x 183 pixels, with resolution of 100 x 100 DPI Requested resolution was: 100 x 100 DPI Width = 0.96 (versus requested 1.06) Height = 1.83 (versus requested 1.83) --- Compliance Summary --- (0) ICAP_BRIGHTNESS minimum value not -1000. (1) ICAP_BRIGHTNESS value does not include 0. (2) ICAP_CONTRAST minimum value not -1000. (3) ICAP_CONTRAST value does not include 0. (4) ICAP_HIGHLIGHT minimum value not 0. (5) ICAP_SHADOW maximum value not 255. (6) ICAP_BITDEPTH contains value 24. A common error but technically non-compliant. (7) ICAP_FLIPROTATION: GET produced a container of the wrong format. (8) CAP_FEEDERALIGNMENT: MSG_RESET failed when it should succeed. (9) CAP_FEEDERORDER: MSG_RESET failed when it should succeed. ------------------------------------------------------------------------ End Twister Analysis.